package com.alibaba.basic.dto;

import com.alibaba.basic.uitl.MD5Utils;
import com.alibaba.basic.uitl.StrUtils;
import com.alibaba.user.domain.User;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

@Data
public class PhoneRegisterDto {
    @NotBlank(message = "是不是买不起手机，给老子输手机号")
    private String phone;

    // uuid
    @NotBlank(message = "是不是没读过书？ uuid都不写")
    private String imageCodeKey;

    // 图形验证码
    @NotBlank(message = "是不是傻逼，填图形验证码呀")
    private String imageCodeValue;

    // 手机号验证码
    @NotBlank(message = "是不是没收到手机验证码？ 西八")
    private String code;

    // 密码
    @NotBlank(message = "不会填吗")
    private String password;
    // 确认密码
    @NotBlank(message = "两次密码不一样，你是不是傻逼")
    private String passwordRepeat;

    private String type;

    public User getUser() {
        //盐值
        String salt = StrUtils.getComplexRandomString(32);
        /// todo 盐值 + 密码
        String pw = MD5Utils.encrypByMd5(salt + this.password);
        return User
                .builder()
                .createtime(new Date())
                .salt(salt)
                .password(pw)
                .state(1)
                .phone(this.phone)
                .username(this.phone)
                .build();
    }
}
